package com.sen.mapper;

import com.sen.dto.Video;
import org.apache.ibatis.annotations.*;

@Mapper
public interface VideoMapper {

    /**
     * 根据bv号查询视频
     *
     * @param bv bv号
     * @return
     */
    @Select("""
            SELECT  `bv`, `title`, `publish_time`, `cover`, 
            `introduction`, `tags`, `type`, `category` 
            FROM video WHERE  `bv`=#{bv}
                """)
    Video findByBv(String bv);


    /**
     * 添加视频数据
     *
     * @param video
     */
    @Insert("""
            INSERT INTO video ( `title`, `publish_time`, `cover`, `introduction`, `tags`, `type`, `category`) 
            VALUES (#{title}, #{publishTime}, #{cover}, #{introduction}, #{tags}, #{type}, #{category})
            """)
    void insert(Video video);

    /**
     * 获取最近生成的自增主键值
     *
     * @return
     */
    @Select("SELECT LAST_INSERT_ID()")
    int lastInertId();


    /**
     * 更新 bv 号
     *
     * @param bv
     * @param id
     */
    @Update("UPDATE video SET `bv`=#{bv} WHERE  `id`=#{id}")
    void updateBv(@Param("bv") String bv, @Param("id") int id);
}
